Wireless mesh computer networks include at least one node that connects the mesh network to a wide area network (WAN) and one or more wireless access points comprising nodes of the mesh network that communicate with each other, at least one of which communicates with the WAN node. The WAN can comprise, for example, the Internet, and the WAN node is referred to as a gateway. the WAN node typically comprises a cable interface (cable modem) or DSL interface or the like, and the wireless access points typically comprise wireless routers and the like. Client devices, such as laptop computers, PDAs, and other handheld devices may move around in the mesh network while communicating with a wireless access point. As a client device moves around in the network, the distance between the client and the communicating wireless access point will change.
The changing distance between a client device and a wireless access point may negatively affect quality of the connection between them. Typically, the quality of connection decreases with an increase in distance. A client device may also move behind a wall or some other object that similarly decreases the connection quality. To provide uninterrupted wireless network access over large geographic spaces (e.g., over an airport or a residential area or a university campus) it is customary to use multiple wireless access points to provide good coverage everywhere in the geographic space. If a client moves relative to a wireless access point with which it is communicating and suffers from unacceptably degraded connection quality, then the client can begin communication with a different, second wireless access point with which it can experience a better connection quality. Communication with the second wireless access point begins with a login process. A device is said to “roam” in such a network if it can move around and transparently associate with different access points without affecting open connections. Thus, connection from the client device to the local mesh network is preserved, as is the ability for the client to communicate with the external WAN (e.g. the Internet).
For network roaming to work properly, the network address of a client device must remain unchanged during the handover from one access point to another, lest open (active) connections stall and close during handover. A known and stable network address (such as the Internet protocol (IP) address) is needed for communications over the network. Unfortunately, the behavior of clients during handover can be very different from client to client: some client devices flush their ARP cache (Address Resolution Protocol; a table that maps IP addresses to MAC addresses) at each login, and others do not; some devices rerun DHCP (Dynamic Host Configuration Protocol; service for requesting a network address) for a new address at each login, and others do not.
If a device no longer has IP address information for the mesh network due to a flushed ARP cache, then as the client device moves from one access point to another, the device will need to perform the login process to each new access point with which it wants to communicate. It should be apparent that repeating the login process at every new access point increases administrative overhead for the network and is an unsatisfactory networking experience.
For DHCP service, an access point must ensure that it gives a requesting client device its old IP address when the device asks for it. In other words, when presented with a client device's MAC address, an access point needs to give the client device the same IP address the device received when it previously requested DHCP service (otherwise, packets previously destined for the client device will be lost and network communications must begin anew). Traditionally, ensuring consistent network addressing is achieved either by connecting all wireless access points to a central DHCP server that can single handedly be responsible for maintaining IP address information for the local mesh network, or by having all access points in the local network inform each other about clients with which they each associated (i.e., inform all access points in the network about their respective client device MAC addresses and their associated IP addresses).
A single central DHCP server for the wireless network can be inefficient and can result in unreliable network performance and maintenance issues. Continuously exchanging address information between all the access points in the network can also be inefficient, and can incur significant network traffic overhead. Repeated login operations are similarly inefficient and incur significant overhead.
From the discussion above, it should be apparent that there is a need for seamless client addressing and roaming over a wireless network that does not degrade reliability and is not inefficient. The present invention satisfies this need.